package leetCode.firstWeek;

import java.util.ArrayList;
import java.util.List;

public class Code_6 {
  public String convert(String s, int numRows) {
    List<List<Character>> totalStringArray = new ArrayList<>();
    String res = "";
    for (int i = 0; i < numRows; i++) {
      List<Character> tmp = new ArrayList<>();
      totalStringArray.add(tmp);
    }
    for (int j = 0; j < s.length(); j++) {
      int lineNum;
      if (numRows == 1) {
        lineNum = 0;
      } else {
        int stardNum = 2 * (numRows - 1);
        lineNum = (j % stardNum >= numRows) ? (stardNum - j % stardNum) : (j % stardNum);
      }
      totalStringArray.get(lineNum).add(s.charAt(j));
    }
    for (int k = 0; k < totalStringArray.size(); k++) {
      for (int m = 0; m < totalStringArray.get(k).size(); m++) {
        res += totalStringArray.get(k).get(m);
      }
    }
    return res;
  }
}
